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

全国公共信息服务平台烟台seo外包

全国公共信息服务平台,烟台seo外包,政府门户网站,关于建设工程的网站简介 本文章介绍了通过读取 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.mmbaike.com/news/33727.html

相关文章:

  • 网站建设空间什么意思谈谈你对互联网营销的认识
  • 做网站对商家的好处专业网站推广软件
  • 网站建设产品分类官网优化 报价
  • 手机端h5网站模板下载nba最新消息
  • 自学网站搭建最火的网络销售平台
  • wordpress建站云平台网站推广优化方案
  • 图书馆网站建设工作国内的搜索引擎有哪些
  • 网站建设流程教程杭州网站优化推荐
  • 10个免费的黑科技网站武汉电脑培训学校有哪些
  • 岳麓区专业的建设网站公司百度网盘搜索引擎
  • 网站规划设计的一般流程网络网站推广优化
  • 网站三合一建设线上推广渠道
  • 做网站做系统一样么百度 营销怎么收费
  • 如何设置自己的网站seo诊断分析报告
  • 学生组织网站建设广告推广怎么做最有效
  • 2019年怎么做网站上海关键词推广公司
  • 网站开发前台后台怎么交互谷歌推广和seo
  • 可视化域名网站模块被删了seo优化方法有哪些
  • 驾校视频网站模板上海百度首页优化
  • 外国网站手机dns搜索引擎简称seo
  • 网站建设需要些什么软件seo推广排名平台有哪些
  • 企业年报网上申报系统百度网络优化
  • 网站群建设项目招标公告seo门户网价格是多少钱
  • 女装网站建设费用预算如何开发微信小程序
  • 在哪个网站可以搜索做凉菜视频软文营销的特点
  • 网站建设胶州家园网页设计与网站开发
  • 无锡建设建设局网站宁波网站制作优化服务
  • 网站维护内容免费seo课程
  • 阳江做网站多少钱网络推广是干什么的
  • 开封 网站建设营销型网站制作成都