当前位置:   article > 正文

用Pycharm数据可视化基础使用_pycharm显示表格的代码是什么

pycharm显示表格的代码是什么

 1.选择合适的图表

        e883c40e3538481db26beeb1422f21f7.png

 2.图表的组成:

        a574f89fe601441b83e8f8d2611da8bc.png

 3.Matplotlib

        Python2D绘图库,常用于数据可视化

        (1)安装:

                 打开cmd,输入

pip install matplotlib

        (2)使用一般步骤:

                引入pyplot模块

import matplotlib.pyplot as plt

                使用Matplotlib模块的plot方法绘制图表

  1. plt.plot([1, 2, 3, 4, 5], [2, 10, 6, 7, 11], 'ro')
  2. plt.show()

                运行程序

               #说明

                        matplotlib.pyplot.plot(x, y, format_string, **kwargs)

                                x:x轴数据

                                y:y轴数据

                                format_string:曲线格式(颜色、线条样式、标记样式等)

                                **kwargs:键值参数

4.绘制简单折线图:

        思路:分别产生x和y的值之后绘制图表

  1. import matplotlib.pyplot as plt
  2. x = range(1, 15, 1)
  3. # 从1开始,到15,步长为1,一共14个数
  4. y = range(1, 42, 3)
  5. plt.plot(x, y)
  6. plt.show()

 5.导入表格读取数据

        将表格保存到PycharmProject(操作的工程)目录里

        或者指定路径查找

                sheet_name——表单名称/位置(可不设)

                header——表头设置(可不设,默认第一行,无设为None)

                index_col——索引列设置

                usecols——读取部分列(序号/名称)

                nrows——读取部分行

                加r——防止转义 

  1. df = pd.read_excel(r"F:\练习\可视化\成绩单.xlsx",
  2. sheet_name="Sheet1", header=0, index_col=[0], usecols="A, C:D")

        选择符合条件的列——选择以字母e结尾的所有列

df = pd.read_excel(r"./data.xlsx", usecols=lambda x:x.endswith("e")

        跳过行——跳过第二行和第三行

df = pd.read_excel(r"./data.xlsx", skiprows=[1,2])

        查看是否读取成功

print(df)

        导入pandas库-->读取数据-->绘制图表

  1. import pandas as pd
  2. import matlotlib.pyplot as plt
  3. df = pd.read_excel('文档名称.xlsx')
  4. # 测试是否读出
  5. printf(df)
  6. # 读取数据
  7. x = df['日期']
  8. y = df['温度']
  9. plt.plot(x, y)
  10. plt.show()

        处理表格显示不完整问题(放在打印前)

  1. pd.set_option('display.max_rows', None)
  2. # 显示所有行
  3. pd.set_option('display.max_columns', None)
  4. # 显示所有列
  5. pd.set_option('display.expand_frame_repr', False)
  6. # 设置不折叠数据
  7. pd.set_option("display.max_colwidth", 200)
  8. # 显示最大列宽

        查询列数据类型 

print(df.dtypes)

         缺失值处理

                将缺失值自动用NaN表示

df = pd.read_excel(r"./data.xlsx", na_values='#N')

6.随机生成x,y值 

  1. import random
  2. # 列表生成式
  3. x=[i for i in range(1, 11)]
  4. # 生成随机数——1-10内生成十个随机数
  5. y=[random.randint(1, 10)for _ in range(10)]

7.图表设置

        (1)处理中文乱码(更改字体):

                font——字体,sans-serif——无衬线字体(一般中文都使用无衬线字体)

                SimHei——黑体

plt.rcParams['font.sans-serif'] = ['SimHei']

        (2)颜色:

                        引入matplotlib.pyplot.plot的color参数

plt.plot(x, y, color='r')
设置值说明设置值说明
b蓝色m洋红色
g绿色y黄色
r红色k黑色
c蓝绿色w白色
#FFFF00黄色(色号)0.5灰度值字符串(0~1)

        (3)样式:

                引入matplotlib.pyplot.plot的linestyle参数e8e6e60ff672434ba080b253fee0be0d.png

# -号也能用实现,-.点线,--双线,可以结合用,:号虚线

# 散点图引用的是实心圆标志(可换),即’ro‘,红色的实心圆

plt.plot(x, y, 'ro')

# 可以使用参数marker设置样式

        含有markerfacecolor参数(mfc),内心颜色为白色

plt.plot(x, y, marker='o', markerfacecolor='w')

        此时折线图上x对应的点会有圆形标记

      

        (4)画布设置

plt.figure(num=None, figsize=None, dpi=None, facecolor=None, edgecolor=None, frameon=True)

        num:图像编号或名称,数字为编号字符串为名称

        figsize:画布宽与高(英寸)

        dpi:绘画对象分辨率,默认80,分辨率越大,画布越大

        facecolor:背景颜色

        edgeolor:边框颜色

        framon:是否显示边框

        (5)坐标轴设置

                坐标轴标题:先得处理中文乱码问题

  1. plt.xlabel('2021五一天气情况')
  2. plt.ylabel('温度')

                坐标轴刻度线设置:

  1. # 坐标轴刻度线是否显示——此时底部刻度线不显示
  2. plt.tick_params(bottom=False, left=True, right=True, top=True)
  3. # 坐标轴刻度线方向——此时刻度线x在轴内,y在轴外
  4. plt.rcParams['xtick.direction']='in'
  5. plt.rcParams['ytick.direction']='out'

                坐标轴刻度:

                        month--刻度单位为月

                        第三个参数为步长

  1. plt.xticks(range(1, 11),month)
  2. plt.yticks(range(1, 11, 5))

                坐标轴范围:

  1. plt.xlim(1, 20)
  2. plt.ylim(1, 20)

          (6)网格线设置

plt.grid(color='0.5', linestyle='--', linewidth='1', axis='x')

                        axis='x'        隐藏x轴网格线

                        linewidth=‘1’        线宽度为1

                        网格线支持以下样式:

        (7)添加文本标签

  1. # 每次都从x中取一个点,y中取一个点,从而得到坐标点
  2. for a, b in zip(x, y):
  3. plt.text(a, b, b, ha='center', va='bottom', fontsize=12, color='r')

                        # ha——垂直对齐方式, va——水平对齐方式,第三个参数为所显示的标签内容

        (8)标题和图例

                        在生成曲线时plt.plot()时,在括号内部加上参数label=‘曲线名‘

                        最后生成图例直接输入plt.legend()即可

  1. plt.title('测试联系', fontsize=18)
  2. # 参数——颜色大小等也能设置
  3. plt.legend('测试次数')
  4. # 默认偏左
  5. plt.legend(('测试次数',))
  6. # 此时偏右

                

        (9)文本注释

plt.annotate('最大数', xy=(4, 55), xytext=(5, 55), arrowprops=dict(facecolor='r', shrink=0.05))

                        annotate(‘文本内容’,所指点位,出发点,箭头样式=dict(字典)型数据(参数)

                        arrowstyle

        (10)画布间距

  1. plt.subplots_adjust(left=0.2, right=0.9, top=0.4, bottom=0.2)
  2. # left、bottom的值越大,间距越大,right、top值越小,间距越大
  3. # left不能大于right

 8.时间解析

  1. # 解析时间列
  2. df=pd.read_excel(r'./data.xls',
  3. parse_dates=[0],
  4. date_parser=lambda x:pd.to_datetime(x,format='%Y_%m_%d'))

         parse_dates——需要时间解析的列位置

        date_parser——选择解析器(lambda)

        转换为时间格式——x:pd.to_datetime(x, format='%Y_%m_%d')

        此时查看数据格式为:datetime64[ns]



 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/不正经/article/detail/500343
推荐阅读
相关标签
  

闽ICP备14008679号