当前位置: 首页 > news >正文

广州网站建设加q.479185700河南网站建设定制

广州网站建设加q.479185700,河南网站建设定制,南宁网站建设制作,logo设计公司地址简介 本文章介绍了通过读取 csv 或 Excel 文件内容,将其转换为折线图或柱状图的方法,并写入 html 文件中。 目录 1. 读取CSV文件 1.1. 生成折线图 1.1.1. 简单生成图表 1.1.2. 设置折线图格式 1.2. 生成柱状图 1.2.1. 简单生成图表 1.2.2. 设置柱…

简介

本文章介绍了通过读取 csv 或 Excel 文件内容,将其转换为折线图或柱状图的方法,并写入 html 文件中。

目录

1. 读取CSV文件

1.1. 生成折线图

1.1.1. 简单生成图表

1.1.2. 设置折线图格式

1.2. 生成柱状图

1.2.1. 简单生成图表

1.2.2. 设置柱状图格式

2. 读取Excel文件

2.1. 生成折线图

2.1.1. 简单生成图表

2.1.2. 设置折线图格式

2.2. 生成柱状图

2.2.1. 简单生成图表

2.2.2. 设置柱状图格式

3. 将生成的折线图写入html文件

3.1. 直接写入图片

3.2. 添加文字描述


1. 读取CSV文件

1.1. 生成折线图

1.1.1. 简单生成图表

代码如下

import pandas
import matplotlib.pyplot as plt# 设置csv文件路径
file = r'E:\test.csv'# 防止中文乱码
plt.rcParams['font.sans-serif'] = ['Microsoft YaHei']# 通过pandas读取文件内容
df = pandas.read_csv(file)
# 将文件第一行设置为序列名称
series_names = df .columns# 将文件数据绘制为折线图
plt.plot(df)
plt.legend(series_names)  #设置序列名称
plt.xlabel('横轴标题')     #设置横坐标名称
plt.ylabel('纵轴标题')     #设置纵坐标名称
plt.title('图表标题')      #设置图表标题# 将绘制的图表显示在屏幕上
plt.show()# 保存图表为png文件
# plt.savefig('filename.png')

绘制结果如下(csv文件中含有3列数据)

                                         

1.1.2. 设置折线图格式

代码如下(在1.1.1目录的代码基础上增加了:图片长宽、标记样式、网格线、横纵轴参考线)

import pandas
import matplotlib.pyplot as plt# 设置csv文件路径
file = r'E:\test.csv'# 防止中文乱码
plt.rcParams['font.sans-serif'] = ['Microsoft YaHei']# 通过pandas读取文件内容
df = pandas.read_csv(file)
# 将文件第一行设置为序列名称
series_names = df .columns# 定义图表大小(长15,高8),必须放在plt.plot前面
plt.figure(figsize=(15,8))# 将文件数据绘制为折线图
plt.plot(df, marker='o', markersize=3)  #marker设置标记样式和大小
plt.xlabel('横轴标题')   #设置横坐标名称
plt.ylabel('纵轴标题')   #设置纵坐标名称
plt.title('图表标题')    #设置图表标题
plt.grid()              #显示网格线
plt.legend(series_names)  #设置序列名称
plt.axhline(y=2, color='r', linestyle='--')   #在y轴上添加横向参考线。
plt.axvline(x=1, color='r', linestyle='--')   #在x轴上添加纵向参考线。# 将绘制的图表显示在屏幕上
plt.show()# 保存图表为png文件
# plt.savefig('filename.png')

绘制结果如下

                                         

1.2. 生成柱状图

1.2.1. 简单生成图表

代码如下

import pandas as pd
import matplotlib.pyplot as plt# 从CSV文件读取数据并指定第一行为列名
data = pd.read_csv(r'E:\test.csv', header=0)# 防止中文乱码
plt.rcParams['font.sans-serif'] = ['Microsoft YaHei']# 获取列名和对应的值
columns = data.columns
values = data.iloc[0].values# 绘制柱状图
plt.bar(columns, values)
plt.xlabel('横轴标题')
plt.ylabel('纵轴标题')
plt.title('图表标题')# 将绘制的图表显示在屏幕上
plt.show()# 保存图表为png文件
# plt.savefig('filename.png')

绘制结果如下

                                         

1.2.2. 设置柱状图格式

颜色代码

'b' 表示蓝色
'g' 表示绿色
'r' 表示红色
'c' 表示青色
'm' 表示品红色
'y' 表示黄色
'k' 表示黑色
'w' 表示白色。

代码如下(在1.2.1目录的代码基础上增加了:图片长宽、柱子宽度/颜色、边框宽度/颜色)

import pandas as pd
import matplotlib.pyplot as plt# 从CSV文件读取数据并指定第一行为列名
data = pd.read_csv(r'E:\test.csv', header=0)# 防止中文乱码
plt.rcParams['font.sans-serif'] = ['Microsoft YaHei']# 定义图表大小(长15,高8),必须放在plt.plot前面
plt.figure(figsize=(15,8))# 获取列名和对应的值
columns = data.columns
values = data.iloc[0].values# 绘制柱状图
plt.bar(columns, values,    #横轴坐标color='y',          #设置柱子颜色(黄色,见颜色代码)width = 0.8,        #设置柱子宽度edgecolor='k',      #设置柱子边框颜色(黑色,见颜色代码)linewidth=2         #设置柱子边框宽度
)
plt.xlabel('横轴标题')
plt.ylabel('纵轴标题')
plt.title('图表标题')# 将绘制的图表显示在屏幕上
plt.show()# 保存图表为png文件
# plt.savefig('filename.png')

绘制结果如下

                                         

                                         

2. 读取Excel文件

2.1. 生成折线图

2.1.1. 简单生成图表

代码如下

import pandas
import matplotlib.pyplot as plt# 防止乱码
plt.rcParams['font.sans-serif'] = ['Microsoft YaHei']# 读取Excel文件内容
df = pandas.read_excel(r'E:\test.xlsx', sheet_name='Sheet1')
column_names = df.columns.tolist()  #获取第1行名称
excel_rows = df.shape[0]            #获取行数# 设置横轴数据,可以在Excel中获取,这里直接将行数从1开始遍历到末尾
x = [i for i in range(1, excel_rows+1)]
# 遍历第一行的列名
for col_name in column_names:# 通过列名提取画图的数据y = df[col_name].to_numpy()# 画图,执行横轴坐标,将线条图例名设置为第一行的列名plt.plot(x, y, label=col_name)# 设置属性
plt.legend()  # 显示图例标题
plt.xlabel('横坐标名称')
plt.ylabel('纵坐标名称')
plt.title('折线图标题')# plt.savefig('./filename.jpg')  # 保存图片
plt.show()  # 查看图片

绘制结果如下 

                                         

2.1.2. 设置折线图格式

代码如下(在2.1.1目录的代码基础上增加了:图片长宽、标记样式、网格线、横纵轴参考线)

import pandas
import matplotlib.pyplot as plt# 防止乱码
plt.rcParams['font.sans-serif'] = ['Microsoft YaHei']# 读取Excel文件内容,如果读取csv文件,则使用pandas.read_csv
df = pandas.read_excel(r'E:\test.xlsx', sheet_name='Sheet1')
column_names = df.columns.tolist()  #读取第1行名称
excel_rows = df.shape[0]             #读取行数# 定义图表大小(长15,高8),必须放在plt.plot前面
plt.figure(figsize=(15,8))# 设置横轴数据,可以在Excel中获取,这里直接将行数从1开始遍历到末尾
x = [i for i in range(1, excel_rows+1)]
# 遍历第一行的列名
for col_name in column_names:# 通过列名提取画图的数据y = df[col_name].to_numpy()# 画图,执行横轴坐标,将线条图例名设置为第一行的列名plt.plot(x, y, label=col_name, marker='o', markersize=3)    #marker设置标记样式和大小# 设置属性
plt.legend()  # 显示图例标题
plt.xlabel('横坐标名称')
plt.ylabel('纵坐标名称')
plt.title('折线图标题')
plt.grid()              #显示网格线
plt.axhline(y=2, color='r', linestyle='--')   #在y轴上添加横向参考线
plt.axvline(x=1, color='r', linestyle='--')   #在x轴上添加纵向参考线# plt.savefig('./aa.jpg')  # 保存图片
plt.show()  # 查看图片

绘制结果如下

                                         

2.2. 生成柱状图

2.2.1. 简单生成图表

代码如下(单行数据)

import pandas
import matplotlib.pyplot as plt# 防止乱码
plt.rcParams['font.sans-serif'] = ['Microsoft YaHei']# 读取Excel文件内容
df = pandas.read_excel(r'E:\test.xlsx', sheet_name='Sheet1')# 获取第一行的名称
column_names = df.columns.tolist()# 去除第一行,并转置数据
data = df.T# 创建柱状图,指定绘制的类型为柱状图(line:折线图(默认),bar:柱状图,barh:水平柱状图,hist:直方图,box:箱线图,kde:核密度估计图,density:密度图,area:面积图,scatter:散点图,hexbin:Hexbin 图(用于显示二维数据的分布情况))
data.plot(kind='bar')# 设置柱子的名称(rotation旋转柱子标题的度数)
plt.xticks(range(len(column_names)), column_names, rotation=0)# 添加标题和坐标轴标签
plt.title('图表标题')
plt.xlabel('横轴标题')
plt.ylabel('纵轴标题')# 显示柱状图
plt.show()

绘制结果如下

                                          

多行数据需要增加修改图例名称的方法,默认从0开始,设置为从1开始。每个图例表示行数,比例1:第一行;2:第二行...

import pandas
import matplotlib.pyplot as plt# 防止乱码
plt.rcParams['font.sans-serif'] = ['Microsoft YaHei']# 读取Excel文件内容
df = pandas.read_excel(r'E:\test.xlsx', sheet_name='Sheet2')# 获取第一行的名称
column_names = df.columns.tolist()# 去除第一行,并转置数据
data = df.T# 创建柱状图,指定绘制的类型为柱状图(line:折线图(默认),bar:柱状图,barh:水平柱状图,hist:直方图,box:箱线图,kde:核密度估计图,density:密度图,area:面积图,scatter:散点图,hexbin:Hexbin 图(用于显示二维数据的分布情况))
data.plot(kind='bar')# 设置柱子的名称(rotation旋转柱子标题的度数)
plt.xticks(range(len(column_names)), column_names, rotation=0)# 添加标题和坐标轴标签
plt.title('图表标题')
plt.xlabel('横轴标题')
plt.ylabel('纵轴标题')# 修改图例名称(从1开始,1表示第1行数据...)
handles, labels = plt.gca().get_legend_handles_labels()
labels = [int(label)+1 for label in labels]
plt.legend(handles, labels)# 显示柱状图
plt.show()

                                          

2.2.2. 设置柱状图格式

颜色代码

'b' 表示蓝色
'g' 表示绿色
'r' 表示红色
'c' 表示青色
'm' 表示品红色
'y' 表示黄色
'k' 表示黑色
'w' 表示白色。

代码如下(在2.2.1目录的代码基础上增加了:图片长宽、柱子宽度/颜色、边框宽度/颜色)

import pandas
import matplotlib.pyplot as plt# 防止乱码
plt.rcParams['font.sans-serif'] = ['Microsoft YaHei']# 读取Excel文件内容
df = pandas.read_excel(r'E:\test.xlsx', sheet_name='Sheet1')# 设置图片大小(长15,宽8)
fig = plt.figure(figsize=(15, 8))
ax = fig.add_subplot()# 获取第一行的名称
column_names = df.columns.tolist()# 去除第一行,并转置数据
data = df.T# 创建柱状图
data.plot(kind='bar', #指定绘制的类型为柱状图(line:折线图(默认),bar:柱状图,barh:水平柱状图,hist:直方图,box:箱线图,kde:核密度估计图,density:密度图,area:面积图,scatter:散点图,hexbin:Hexbin 图(用于显示二维数据的分布情况))color='y',  #设置柱子颜色(黄色,见颜色代码)width=0.8,  # 设置柱子宽度edgecolor='k',  #设置柱子边框颜色(黑色,见颜色代码)linewidth=2,    #设置柱子边框宽度ax=ax           #设置图片大小
)# 设置柱子的名称(rotation旋转柱子标题的度数)
plt.xticks(range(len(column_names)), column_names, rotation=0)# 添加标题和坐标轴标签
plt.title('图表标题')
plt.xlabel('横轴标题')
plt.ylabel('纵轴标题')# 显示柱状图
plt.show()

绘制结果如下

                                          

                                         

3. 将生成的折线图写入html文件

3.1. 直接写入图片

使用 MarkupPy  将图片写入html文件

from MarkupPy import markup# 添加图片,设置长、宽
page = markup.page()
page.add('<img src="./filename.png" alt="csv生成的折线图" width="800" height="500">')# 写入文件
with open('./tmp.html', 'w') as file:file.write(str(page))

代码如下(以csv生成的折线图为例)

import pandas
import matplotlib.pyplot as plt
from MarkupPy import markup# 设置csv文件路径
file = r'E:\test.csv'# 防止中文乱码
plt.rcParams['font.sans-serif'] = ['Microsoft YaHei']# 通过pandas读取文件内容
df = pandas.read_csv(file)
# 将文件第一行设置为序列名称
series_names = df .columns# 将文件数据绘制为折线图
plt.plot(df)
plt.legend(series_names)  #设置序列名称
plt.xlabel('横轴标题')     #设置横坐标名称
plt.ylabel('纵轴标题')     #设置纵坐标名称
plt.title('图表标题')      #设置图表标题# 保存图表为png文件
plt.savefig('./filename.png')# 添加图片
page = markup.page()
page.add('<img src="./filename.png" alt="csv生成的折线图" width="800" height="500">')# 写入文件
with open('./tmp.html', 'w') as file:file.write(str(page))

结果如下

                                         

3.2. 添加文字描述

文件描述见 MarkupPy 的详细使用方法

超链接:Python模块MarkupPy & 自定义html报告

                                         

http://www.zhongyajixie.com/news/35883.html

相关文章:

  • 黄浦网站建设网络营销策划书应该怎么写
  • 公司做网站一般用什么域名中国新闻发布
  • 东莞公司网站制作公司百度问答app下载
  • 长沙关键词优化推荐清理优化大师
  • 2级a做爰片免费网站杭州网站运营十年乐云seo
  • 做公司网站首页新闻软文范例大全
  • 盐城网站建设有限公司小广告图片
  • php做购物网站系统上海关键词优化公司哪家好
  • 竞馨门户网站开发国外外链平台
  • 常州网上教科院北京网站优化体验
  • 怎么给一个网站做搜索功能3小时百度收录新站方法
  • Mui框架做网站卖友情链接的哪来那么多网站
  • 博客网站源码带后台东莞seo
  • 烟台网站建设诚信臻动传媒营销渠道分为三种模式
  • 个人如果做网站赚钱sem竞价托管公司
  • 苏州网站开发找薇网站如何建立
  • php做的网站后台seo试用软件
  • 苍南龙港做网站店铺惠州seo计费管理
  • 互联网站建设维护是做什么的营销方案范文
  • 鹤壁做网站哪家好百度推广获客
  • 网站的开发工具和运行环境谷歌竞价广告
  • 景山网站建设公司网站综合查询工具
  • 网站理念google搜索引擎入口下载
  • 平面设计网课哪个机构好seo包年优化费用
  • h5如何做多页面网站开封网站推广
  • 做结婚请柬网站有那些一个网站推广
  • 网络网站建设电话天津百度关键词seo
  • 网站建设内部因素在线种子资源库
  • gif在线制作汕头seo外包公司
  • 室内设计公司排行中国网络优化公司排名