python生成折线图

图形生成工具包 reportlab (下载地址:https://bitbucket.org/rptlab/reportlab/get/ddf3d4f5066a.zip

数据地址:ftp://ftp.swpc.noaa.gov/pub/weekly/Predict.txt

#! /usr/bin/env python
#coding=utf-8
#sunspots_final.py

from urllib import request
from reportlab.graphics.shapes import *
from reportlab.graphics.charts.lineplots import LinePlot
from reportlab.graphics.charts.textlabels import Label
from reportlab.graphics import renderPDF

URL=‘ftp://ftp.swpc.noaa.gov//pub//weekly//Predict.txt‘
COMMENT_CHARS=‘#:‘

drawing=Drawing(400,200)
data=[]
for line in request.urlopen(URL,‘r‘).readlines():
    line=line.decode(‘utf-8‘)
    if not line.isspace() and not line[0] in COMMENT_CHARS:
        data.append([float(n) for n in line.split()])

pred=[row[5]-40 for row in data]
high=[row[6]-40 for row in data]
low=[row[7]-40 for row in data]
times=[row[0]+row[1]/12.0 for row in data]

lp = LinePlot()
lp.x=50#间距
lp.y=50
lp.height=125#轴的长度
lp.width=300
lp.data=[list(zip(times,pred)),list(zip(times,high)),list(zip(times,low))]
lp.lines[0].strokeColor=colors.blue
lp.lines[1].strokeColor=colors.red
lp.lines[2].strokeColor=colors.green

drawing.add(lp)
drawing.add(String(250,150,‘SunSopts‘,fontSize=14,fillColor=colors.orange))

renderPDF.drawToFile(drawing,‘report2.pdf‘,‘SunSpots‘)

#print(data)
        
时间: 2024-08-05 19:03:06

python生成折线图的相关文章

highcharts实例教程一:结合php与mysql生成折线图

Highcharts是一款纯javascript和html5编写的图表库,不仅几乎能兼容所有pc浏览器,而且对ios和android手机端的兼容 性也不错,它能够很简单便捷的在Web网站或Web应用中添加交互性的图表,Highcharts目前支持直线图.折线图.面积图.柱状图.饼图.散点图 等多达28种不同类型的图表,还支持3D立体图表的生成,可以满足你对Web图表的任何需求 !而且Highcharts对学习者.非商业机构是免费使用的. 案例场景:要求针对技术cto网站,直观地显示一周网站pv.

chart.js插件生成折线图时数据普遍较大时Y轴数据不从0开始的解决办法[bubuko.com]

chart.js插件生成折线图时数据普遍较大时Y轴数据不从0开始的解决办法,原文: 默认情况下如下图 Y轴并不是从0开始,这样折现图的幅度会很大,不是正常的幅度,解决办法如下, 示例代码: window.onload = function () { var ctx = document.getElementById("canvas").getContext("2d"); window.myLine = new Chart(ctx).Line(lineChartDat

使用Highcharts生成折线图_at last

//数据库数据的读取,读取数据后数据格式的转换,还有highchart数据源的配置,伤透了脑筋. anyway,最终开张了.哈哈! 数据库连接:conn_orcale.php <?php $dbconn=oci_connect("dnc-local","dnc-local","orcl")or die("数据库连接错误"); ?> 读取数据:device_query.php <?php require 'co

快速生成折线图及代码详解

快速生成折线图时,只需要修改代码中的以下数据: 1.Y轴刻度个数:Ycounts 2.Y轴最小刻度数:YminValue 3.横坐标:数组mouth 4.标题:strTopic 5.用户数据:数组d 6.[可选]修改背景色:代码中27行改为所需要的颜色即可 完整代码: 1 using System; 2 using System.Collections.Generic; 3 using System.ComponentModel; 4 using System.Data; 5 using Sys

利用python进行折线图,直方图和饼图的绘制

我用10个国家某年的GDP来绘图,数据如下: labels   = ['USA', 'China', 'India', 'Japan', 'Germany', 'Russia', 'Brazil', 'UK', 'France', 'Italy'] quants   = [15094025.0, 11299967.0, 4457784.0, 4440376.0, 3099080.0, 2383402.0, 2293954.0, 2260803.0, 2217900.0, 1846950.0] 首

python matplotlib 折线图的制作

python  matplotlib和random 折线图的制作 1.库的导入 import matplotlib.pyplot as plt # 导入模块 import random 2.创建画布并设置中文 # 1)创建画布(容器层) plt.figure("北京上海温度", figsize=(10, 5)) # 10为绘图对象长度,5为宽度 plt.rcParams['font.sans-serif'] = ['SimHei'] # 用来正常显示中文标签 plt.rcParams[

JFreeChart应用(生成折线图)

1.jar包,jcommon.jar和jfreechart.jar,具体用哪个版本官网去down吧: 还有另外一个jar包,gnujaxp.jar,这个引入之后编译的时候会报错,应该是xsd校验的问题,索性直接去掉了,不影响实现. 2.具体实现: public static void main(String [] args){ //数据源 String[] rk = getRowKeys(bid); double[][]data = getData(bid,rk); String[] colKe

echarts生成折线图

<div id="main" style="width: 100%;height:400px;"></div> // 基于准备好的dom,初始化echarts实例 var myChart = echarts.init(document.getElementById('main')); // 使用刚指定的配置项和数据显示图表. $.post('syqgeneral.do').done(function(result) { var arrDate

自定义动态生成折线图

package com.example.line; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import android.annotation.SuppressLint; import android.content.Context; import android.graphics.Canvas; import android.graphi