登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
本帖最后由 小白大白123 于 2023-10-1 17:22 编辑
(1)有关python的经验方法都是基于anaconda下载的库包(conda install 库包名 或 cmd 命令 pip install 库报名),以及使用anaconda里的spyder(python3.8)编辑和运行代码。 (2)所有的代码都是经过了spyder(python3.8)正常运行得出结果的,可以放心使用,也欢迎交流和讨论。 (3)关于不同版本运行本号分享的代码出现问题,请自行网上搜索解决办法解决。 1. 使用Matplotlib绘制简单的折线图:以一组1981-1990年的某地月平均气温数据为例(数据信息如下图所示)。
第一步:使用anaconda安装Matplotlib库:
第2步:绘制折线图 subplots()可以在一张图片中绘制一个或多个图表 fig表示整张图片,ax表示图片中的各个图表 plot()根据给定的数据以有意义的方式绘制图表 只输入一个列表时ax.plot(squares),假设第一个数据点对应x坐标为0 同时提供输入和输出ax.plot(input_values, squares)
import matplotlib.pyplot as plt
x_values = [1981, 1982, 1983, 1984, 1985]
y_values = [22.8, 22.3, 22.9, 21.8, 22.2]
fig, ax = plt.subplots() #绘制画布,地图
ax.plot(x_values, y_values, linewidth=3)
ax.set_title("1981-1985 temperature", fontsize=24) #标题
ax.set_xlabel("time(year)", fontsize=14) #坐标轴标签
ax.set_ylabel("temperature(℃)", fontsize=14)
ax.tick_params(axis='both', labelsize=14) #刻度标记
plt.show()
代码读取后显示:
第3步:使用内置的不同图形样式绘制折线图
1、显示所有的不同样式的图形,共有20张 import matplotlib.pyplot as plt
x_values = [1981, 1982, 1983, 1984, 1985]
y_values = [22.8, 22.3, 22.9, 21.8, 22.2]
fig, ax = plt.subplots()
ax.plot(x_values, y_values, linewidth=3)
# 使用内置样式画图
print(plt.style.available) #显示有哪些可用的内置样式
mystyles = plt.style.available
for mystyle in mystyles:
plt.style.use(mystyle) #使用内置样式
fig, ax = plt.subplots()
ax.plot(x_values, y_values)
ax.set_ylabel("temperature(℃)", fontsize=14)
ax.set_xlabel("Value") #坐标轴标签
ax.set_ylabel("Square of Value")
ax.tick_params(axis='both') #刻度标记
plt.show()
所有的内置样式有(print(plt.style.available)):
2、选择其中一种样式(plt.style.use(‘样式名字’)): 如'Solarize_Light2': plt.style.use('seaborn') #使用内置样式
fig, ax = plt.subplots()
如'bmh': plt.style.use('bmh') #使用内置样式
fig, ax = plt.subplots()
其余的样式同理可得。
第4步:使用Matplotlib绘制简单的散点图
import matplotlib.pyplot as plt
x_values = range(1, 20) #取连续的1-20的整数
y = [x**2 for x in x_values] #x值的二次方为y值
plt.style.use('fast') #使用内置样式
fig, ax = plt.subplots()
ax.scatter(x_values, y, c='red', s=50)
#绘制散点图,传递x和y坐标,点的尺寸s
#颜色c,可用设置为'red',(0, 0.8, 0)
ax.set_title("1981-1985 temperature", fontsize=24) #标题
ax.set_xlabel("Value") #坐标轴标签
ax.set_ylabel("temperature(℃)", fontsize=14)
ax.tick_params(axis='both') #刻度标记
plt.show()
注:内置样式可以更换,这里选择的是‘fast’。
|