matplotlib

本文介绍了Python数据可视化的基本操作,包括使用matplotlib库保存图片、绘制折线图、设置图例以及使用subplot进行多图布局。示例代码详细展示了如何调整图像大小、颜色、线型以及图例位置,帮助理解数据可视化的基本技巧。
摘要由CSDN通过智能技术生成

1.图片保存

  1. 保存到指定位置
plt.savefig('F:/pycharm/聚类/图片/df1.png')
plt.savefig(fname="pic.png",figsize=[10,10])

fname:保存的图片文件的名称,必选。
figsize:保存图像的大小,单位为英寸,必选。

2.画折线图

import os
os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'
import pandas as pd
import matplotlib.pyplot as plt
import tensorflow as tf

# 读取数据

data = pd.read_excel('附件3-测风数据.xlsx',usecols='B:N',header = None)
data=data.iloc[:20,:]
a1=data.iloc[:,0]
plt.figure(figsize=(10, 5))  # 设置画布的尺寸
x=range(a1.shape[0])
plt.title('Examples of line chart', fontsize=20)  # 标题,并设定字号大小
plt.xlabel(u'x-year', fontsize=14)  # 设置x轴,并设定字号大小
plt.ylabel(u'y-income', fontsize=14)  # 设置y轴,并设定字号大小

# color:颜色,linewidth:线宽,linestyle:线条类型,label:图例,marker:数据点的类型
plt.plot(x, data.iloc[:,0], color="deeppink", linewidth=2, linestyle=':', label='Jay income', marker='o')
plt.plot(data['时间'], data['收入_JJ'], color="darkblue", linewidth=1, linestyle='--', label='JJ income', marker='+')
plt.plot(data['时间'], data['收入_Jolin'], color="goldenrod", linewidth=1.5, linestyle='-', label='Jolon income',
         marker='*')
plt.show()  # 显示图像

3.图例legend

plt.figure(figsize=(5,2.5))
for a in range(dataset_in.shape[0]):
    dataset_in.iloc[a].plot(color="red", alpha=0.01,legend=False)#legend=None不画图例
means.plot(color='blue',label='改后类中心',legend=True)
means_in.plot(color='black',label='原始类中心',legend=True)
plt.xlabel('时间点',fontsize=12)
plt.ylabel('归一化功率',fontsize=12)
plt.tight_layout()
#(1)在 matplotlib 中,轴域(包括子图)的位置以标准化图形坐标指定。 可能发生的是,你的轴标签或标题(有时甚至是刻度标签)会超出图形区域,因此被截断。
#(2)当你拥有多个子图时,你会经常看到不同轴域的标签叠在一起。
plt.show()

不能控制legend位置

x=range(96)
plt.figure(figsize=(5,2.5))
for a in range(dataset_in.shape[0]):
    dataset_in.iloc[a].plot(color="red", alpha=0.01,legend=False)#legend=None不画图例
line1,=plt.plot(x,means,color='blue')
line2,=plt.plot(x,means_in,color='black')
plt.legend((line1,line2),['改后类中心','原始类中心'],loc=4)

设置图例在右下角,并且不显示dataset_in的图例

4、subplot

dataset.loc[:, 'labels'] = labels
for i in range(numclass):
    df1 = dataset[dataset['labels'] == i]
    df1 = df1.drop(columns='labels')  # 删除列
    plt.subplot(3, 2, i+1 )
    for a in range(df1.shape[0]):
        df1.iloc[a].plot(color="red",alpha=0.01)
    center.iloc[i].plot(color="black")
    # df1.iloc[a].plot(label=str(a))# df2.iloc[1],df2的2行
    plt.title('class[{}]'.format(i), fontsize=10)  # 标题,并设定字号大小
    # plt.savefig('F:/pycharm/聚类/图片/t{}.png'.format(i))
    # plt.clf()清空画布
    # plt.subplot(2,3,i+1)
plt.show()

5、显示不完全

plt.tight_layout()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值