python数据处理可视化pandas,numpy,matplotlib模板

matplotlib

from matplotlib import pyplot as plt
from random import randint as rd
plt.figure(figsize=(10,5), dpi=100)
x = list(range(1, 26, 2))
y = [rd(1, 100) for i in range(13)]
plt.xticks(range(0,max(x)+1))
plt.yticks(range(min(y),max(y)+1,5))
plt.xlabel("xtest")
plt.ylabel("ytest")
plt.grid()
plt.plot(x, y)
plt.show()

y1=[rd(0,30) for i in range(20)]
y2=[rd(30,50) for i in range(20)]
x=range(20)
plt.figure(figsize=(15,5),dpi=200)
plt.grid(linestyle="--")
plt.plot(x,y1,label="test1",linestyle="-.",linewidth=1)
plt.plot(x,y2,label="test2",alpha=0.5,linestyle=":")
plt.legend()
plt.show()

plt.figure(figsize=(15,5),dpi=200)
plt.scatter(x,y1,label="y1",color="red")
plt.scatter(x,y2,label="y2",color="green")
plt.legend()
plt.show()

plt.rcParams['font.sans-serif'] = ['SimHei']  # 用来正常显示中文标签
x1=["属性{}".format(i) for i in range(20)]
plt.xticks(x[::2],x1[::2],rotation=45)
plt.bar(x1,y1,width=0.5)
plt.grid(alpha=0.5)
plt.show()

plt.barh(x1,y1,color="orange",height=0.5)
plt.grid(alpha=0.3)
plt.show()

plt.figure(figsize=(20,5), dpi=100)
plt.rcParams['font.sans-serif'] = ['SimHei']  # 用来正常显示中文标签
xn=list(range(len(x)))
bar_width=0.2
xn1=[i+bar_width for i in xn]
xn2=[i+bar_width*2 for i in xn]
plt.bar(xn,y1,width=bar_width,color="orange",label="y1")
plt.bar(xn1,y1,width=bar_width,color="green",label="y1对比")
plt.bar(xn2,y2,width=bar_width,color="red",label="y2")
plt.xticks(xn1,x)
plt.legend()
plt.show()

d=2
n=(max(y1)-min(y1))//d
plt.hist(y1,n)
plt.xticks(range(min(y1),max(y1)+d,d))
plt.show()

from random import randint as rd
from matplotlib import pyplot as plt
plt.figure(figsize=(10,5),dpi=200)
temp=list(rd(20,35) for i in range(120))
x=range(120)
plt.xticks(range(min(x), max(x) + 10,5))
plt.yticks(range(min(temp),max(temp) + 1))
plt.xlabel("time")
plt.ylabel("temp")
plt.plot(x, temp)
plt.show()

plt.rcParams['font.sans-serif'] = ['SimHei']  # 用来正常显示中文标签
#plt.rcParams['axes.unicode_minus'] = False  # 用来正常显示负号
xnew=list(x)[::5]
x_label_ticks=["10点{}分".format(i) for i in range(0,60,5)]
x_label_ticks+=["11点{}分".format(i-60) for i in range(60,120,5)]
plt.figure(figsize=(15,5),dpi=200)
plt.xticks(xnew,x_label_ticks,rotation=45)
plt.plot(x,temp,color="green")
plt.xlabel("时间")
plt.ylabel("气温")
plt.title("10点到11点气温随时间变化情况图像")
plt.show()

南丁格尔玫瑰图:

import pandas as pd
from pyecharts.charts import Pie
from pyecharts import options as opts
cate = ls_key#cate为属性
num=ls_value#num为对应属性的值
color_series = ['#FAE927', '#E9E416', '#C9DA36', '#9ECB3C', '#6DBC49',
                '#37B44E', '#3DBA78', '#14ADCF', '#209AC9', '#1E91CA',
                '#2C6BA0', '#2B55A1', '#2D3D8E', '#44388E', '#6A368B'
                                                            '#7D3990', '#A63F98', '#C31C88', '#D52178', '#D5225B',
                '#D02C2A', '#D44C2D', '#F57A34', '#FA8F2F', '#D99D21',
                '#CF7B25', '#CF7B25', '#CF7B25']
# 创建数据框
df = pd.DataFrame({'cate': cate, 'num': num})
# 降序排序
df.sort_values(by='num', ascending=False, inplace=True)

# 提取数据
v = df['cate'].values.tolist()
d = df['num'].values.tolist()
# 实例化Pie类
pie1 = Pie(init_opts=opts.InitOpts(width='1350px', height='750px'))
# 设置颜色
pie1.set_colors(color_series)
# 添加数据,设置饼图的半径,是否展示成南丁格尔图
pie1.add("", [list(z) for z in zip(v, d)],
         radius=["30%", "135%"],
         center=["50%", "65%"],
         rosetype="area"
         )
# 设置全局配置项
pie1.set_global_opts(title_opts=opts.TitleOpts(title='玫瑰图示例'),
                     legend_opts=opts.LegendOpts(is_show=False),
                     toolbox_opts=opts.ToolboxOpts())
# 设置系列配置项
pie1.set_series_opts(label_opts=opts.LabelOpts(is_show=True, position="inside", font_size=12,
                                               formatter="{b}:{c}天", font_style="italic",
                                               font_weight="bold", font_family="Microsoft YaHei"
                                               ),
                     )
pie1.render('南丁格尔玫瑰图.html')

热力图:

import pandas as pd
import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['SimHei']  # 用来正常显示中文标签
plt.rcParams['axes.unicode_minus'] = False  # 用来正常显示负号
plt.figure(figsize=(15,5),dpi=300)
# 生成示例数据
np.random.seed(0)
data = np.random.rand(10, 10)  # 替换为您的数据

# 创建数据框
df = pd.DataFrame(data)

# 计算皮尔逊相关系数
correlation_matrix = df.corr()

# 绘制热力图
plt.figure(figsize=(10, 8))  # 设置图形大小
sns.heatmap(correlation_matrix, annot=True, cmap='coolwarm', fmt=".2f", linewidths=0.5)
plt.title('皮尔逊相关系数热力图')
x_new=np.arange(0.5,10.5)
x_label_ticks=["数学","英语","物理","语文","化学","生物","地理","科学","政治","历史"]
plt.xticks(x_new,x_label_ticks,rotation=0)
plt.yticks(x_new,x_label_ticks,rotation=0)
plt.show()

numpy:

pandas:

  • 7
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值