必要库导入
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.dates as mdates
import pandas as pd
import matplotlib
matplotlib.rc("font",family='DengXian') # 中文显示
散点图&气泡图 plt.scatter
散点图
#-------------------------------------------------文件操作-------------------------------------------------#
# 文件读取
open, close = np.loadtxt('data/000001.csv', delimiter=',', skiprows=1, usecols=(1,4), unpack=True)
# 数据提取
change = close-open
yesterday = change[:-1]
today = change[1:]
#-------------------------------------------------绘图操作-------------------------------------------------#
# 绘图参数设置
s = 20 # 设置点的大小
marker = 'o' # 设置点的形状
c = 'green' # 设置点的颜色
alpha = 0.3 # 设置透明度
edgecolors = 'red' # 设置边缘颜色
# 绘图
plt.figure(figsize = (7, 3), dpi = 300)
plt.scatter(today, yesterday, s = s, c = c, marker = marker, edgecolors = edgecolors, alpha = alpha)
plt.show()
气泡图
data = pd.read_excel('data/产品销售统计.xlsx')
n = data['产品名称']
x = data['销售量(件)']
y = data['销售额(元)']
z = data['毛利率(%)']
plt.figure(figsize = (11, 6), dpi = 300)
plt.scatter(x, y, s = z * 200, color = 'g', marker = 'o', alpha = 0.5)
plt.xlabel('销售量(件)', fontdict={'family': 'Microsoft YaHei', 'color': 'k', 'size': 15}, labelpad=20)
plt.ylabel('销售额(元)', fontdict={'family': 'Microsoft YaHei', 'color': 'k', 'size': 15}, labelpad=20)
plt.title('销售量、销售额与毛利率关系图', fontdict={'family': 'Microsoft YaHei', 'color': 'k', 'size': 20}, loc = 'center')
for a, b, c in zip(x, y, n):
plt.text(x = a, y = b, s = c, ha = 'center', va = 'center', fontsize = 15, color = 'w', fontweight = 'bold')
plt.xlim(50, 600)
plt.ylim(2900, 11000)
plt.show()