我嘗試制作以下情節,但傳說看起來不太好。我希望年份是整數(而不是小數)和顏色欄中的 2000、2005、2010、2015、2020 等期間的空格。圖例標題“Years”也應該在圖例的頂部(而不是在中間的顏色條中),帶有fontsize=14. 希望有人可以提供幫助。
import pandas as pd
import random
import matplotlib.pyplot as plt
df=pd.read_csv(r"https://raw.githubusercontent.com/tuyenhavan/Course_Data/main/data.csv")
years=[i for i in range(2000,2022)]
df["Year"]=[random.choice(years) for i in range(len(df))]
fig, ax=plt.subplots(figsize=(15,8))
point=plt.scatter(df.Extent_km2/1000, df.Resolution_m, c=df.Year)
plt.xticks(fontsize=13)
plt.yticks(fontsize=13)
ax.set_xlabel(r"Spatial extent (1000 $\rmkm^2$)", fontsize=15)
ax.set_ylabel("Spatial resolution (m)", fontsize=15)
fig.colorbar(point)
plt.show()
uj5u.com熱心網友回復:
要更改顏色條刻度,您可以使用 設定自定義刻度cb=plt.colorbar(points,ticks=np.arange(2000,2025,5))。要將顏色條的標題放在頂部,您可以使用:cb.ax.set_title('Years',fontsize=14)。總體而言,代碼如下所示:
import pandas as pd
import random
import matplotlib.pyplot as plt
import numpy as np
df=pd.read_csv(r"https://raw.githubusercontent.com/tuyenhavan/Course_Data/main/data.csv")
years=[i for i in range(2000,2022)]
df["Year"]=[random.choice(years) for i in range(len(df))]
fig, ax=plt.subplots(figsize=(15,8))
points=ax.scatter(df.Extent_km2/1000, df.Resolution_m, c=df.Year)
ax.tick_params(axis='both', which='major', labelsize=13)
ax.set_xlabel(r"Spatial extent (1000 $\rmkm^2$)", fontsize=15)
ax.set_ylabel("Spatial resolution (m)", fontsize=15)
#setting up colorbar with customized ticks
cb=plt.colorbar(points,ticks=np.arange(2000,2025,5))
#setting up title
cb.ax.set_title('Years',fontsize=14)
plt.show()
輸出給出:

轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/438515.html
標籤:Python matplotlib 散点图
