Skip to main content

Creates a static .html file with charts using Google Charts API

Project description

plot2html

Helping people publish beautiful automated reports that contribute to transparency, high quality monitoring and faster decision making

With this library, you can create static .html files with text and charts taking advantage of Google Charts API.

Installing this package (on the command line):

pip install plot2html

Python code:

# example data
import pandas as pd
temperature = pd.read_csv('https://raw.githubusercontent.com/rafatro/plot2html/main/tests/Temperature_London_Rome.csv',parse_dates=[0])

# date        location  tavg
# 2019-01-01  London    7.3
# 2019-01-02  London    3.7
# 2019-01-03  London    2.2
from plot2html import CreateReport
report = CreateReport("Example of plot2html Report")

report.text("<h2>Smart title you can create</h2>This is an example what what you can do with plot2html.")

options = {'title': 'Average temperature at London and Rome',
           'hAxis': {'title': 'Date'},
           'vAxis': {'title': 'Average Daily Temperature (Celsius)'},
           'colors': ['#a52714', '#097138']
          }
# We want a chart that shows each location as a different serie (each loacation should be a different line on the chart).
# Since the location is one column on the dataframe, we need to pivot the dataframe so each location becomes a column.
report.plot(data=temperature.pivot(index='date', columns='location', values='tavg').reset_index()
         ,x='date'
         ,y=['Rome','London']
         ,type='line'
         ,width='half'
         ,height=400
         ,options=options)

report.text('''This text is an explanation about the chart to the left.<br>
The first chart above shows data from <a href='https://meteostat.net/'>Meteostat</a>, that provides open source data about meteorology.<br>
You can see Rome temperatures follow the same trend as London's, because both cities are in the northern hemisphere, but Rome is a bit hotter, especialy on the summer.
''',width="half")

report.exporthtml("C:/Users/rafae/Desktop/plot2html/tests/index.html")

You will get this output:

example screenshot

Main arguments

Data: pandas DataFrame with the columns that are going to be used as either as the horizontal axis or the series of the chart.
x: name of the column that will be used as horizontal axis of the chart
y: name (or several names) of the columns that will be used as series of the chart.
type: either 'line' or 'column'. Other alternatives on development.
width: how much horizontal space of the screen is going to be occupied by the chart (or text). Possibilities: 'full' (default), 'half', 'third', '2-thirds' or 'quarter'.
height: height of the chart in pixels.
options: several parameters to be passed to Google Chart API, including title, axis title, colors, font size, annotations, gridlines, legend position etc. See all possibilities on Google Charts documentation site. But please note the notation is a bit different because requires the names of the parameters to be inside single quotes '. So, instead of options={hAxis:{title: 'Time',textStyle:{color: '#01579b',fontSize:20}}} use options={'hAxis':{'title': 'Time','textStyle':{'color': '#01579b','fontSize':20}}}

Enjoy!

Any feedback is welcome. This is just the beginning.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

plot2html-0.0.9.tar.gz (5.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

plot2html-0.0.9-py3-none-any.whl (5.8 kB view details)

Uploaded Python 3

File details

Details for the file plot2html-0.0.9.tar.gz.

File metadata

  • Download URL: plot2html-0.0.9.tar.gz
  • Upload date:
  • Size: 5.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.62.3 importlib-metadata/4.11.1 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.10.2

File hashes

Hashes for plot2html-0.0.9.tar.gz
Algorithm Hash digest
SHA256 4f1e8e11c6233c90d6c73fcfed021900c6ba5867df2519e2952b895b7e90d212
MD5 bacec57769d97dd0aaee92d496c3c8fd
BLAKE2b-256 6f7db8b194ff4f4caa7e472f384d136e9dcef15a6e735b5eade48ff5d1007e73

See more details on using hashes here.

File details

Details for the file plot2html-0.0.9-py3-none-any.whl.

File metadata

  • Download URL: plot2html-0.0.9-py3-none-any.whl
  • Upload date:
  • Size: 5.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.62.3 importlib-metadata/4.11.1 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.10.2

File hashes

Hashes for plot2html-0.0.9-py3-none-any.whl
Algorithm Hash digest
SHA256 622c4f9c2903d909c5b58a6232517e119aa02fadf4b421d50033f5a261b272ff
MD5 895b15b54da98f4b39697e4beb42126e
BLAKE2b-256 d5e10731c366518935e58b3b54fcd771ca537bf0912d17d9eaf59188da4c4a33

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page