散点图 scatter
参考书目
刘大成,python数据可视化之matplotlib实践,中国工信出版社
阮敬,python数据分析基础,中国统计出版社
例子
import numpy as np
import matplotlib.pyplot as plt
a = np.loadtxt('data.txt')
x = a[:,0]
y = a[:,1]
plt.scatter(x,y,c = 'orange',alpha = 0.4)
# c 代表颜色,alpha表示透明度
plt.xlabel('num')
plt.ylabel('value')
plt.show()
data.txt
22800 11250
21300 11250
30600 12450
21600 12000
…… ……
参数说明
- c:颜色
- alpha:透明度
- s:散点标记的大小
例子
import matplotlib as mpl
import matplotlib.pyplot as plt
import numpy as np
a = np.random.randn(100)
b = np.random.randn(100)
print(a)
plt.scatter(a,b,s = np.power(10*a+20*b,2), # s 表示大小
c = np.random.randn(100), # c表示颜色
cmap = mpl.cm.RdYlBu, # cmap:将浮点数映射成颜色映射表
marker = 'o')
plt.show()
轮子
(需根据实际的数据,修改pandas的列名,根据需要修改画图参数)
数据:data.txt
x value
1 93
30 96
60 84
90 84
120 48
150 38
180 51
210 57
240 40
270 45
300 50
330 75
360 80
390 60
420 72
450 67
480 71
510 7
540 74
570 63
600 69
代码
# 绘值折线图(plot)
def ScatterPlot(x, y):
import matplotlib.pyplot as plt
# 设置中文显示
import matplotlib as mpl
mpl.rcParams["font.sans-serif"] = ["SimHei"]
mpl.rcParams["axes.unicode_minus"] = False
plt.figure() # 创建画布
plt.scatter(x, y,
# color = 'orange', # 设置条形图的颜色
c= x,
s = y * 10, # 设置散点的大小
alpha = 0.8) # 设置图片透明度
# plt.plot(x, y, '--', color = 'orange', alpha = 0.8) # 绘制折线
# plt.bar(x, y,alpha = 0.4, color = 'orange', width = 20) # 绘制柱状图
plt.xlabel('x/m') # 设置 X 坐标轴标签
plt.ylabel('value') # 设置 y 坐标轴标签
# plt.xticks(x) # 设置 x 坐标轴的刻度
plt.title('请输入标题') # 设置标题
plt.savefig('out.png', dpi=300) # 存储图片
plt.show()
# 读取数据
def reader(data):
import pandas as pd
file = pd.read_csv(data, sep='\s+')
data = pd.DataFrame(file, columns = ['x', 'value'])
x = data['x']
y = data['value']
return x, y
# 代码执行部分
data = 'data.txt'
x, y = reader(data)
ScatterPlot(x, y) # 绘制折线图
残留问题:如何调整X 轴的间隔