Python sebagai bahasa pemrograman yang dikhususkan buat pecinta data science memiliki berbagai fasilitas dan module untuk visualisasi data. Saking banyaknya sampai tiap coder memiliki stylenya masing-masing tergantung yg disukainya. Namun yg paling umum dipakai adalah Matplotlib.
Matplotlib adalah library python yang cukup lengkap untuk membuat visualisasi statis, animasi, dan interaktif . Matplotlib membuat hal-hal mudah menjadi mudah dan hal-hal sulit menjadi mungkin. seperti :
Membuat
- Kembangkan plot kualitas bagus hanya dengan beberapa baris kode
- Gunakan figur interaktif yang dapat memperbesar, menggeser, memperbarui...
Sesuaikan
- Kendalikan penuh gaya garis, properti font, properti sumbu...
- Ekspor dan sematkan ke sejumlah format file dan lingkungan interaktif
Extended
- Jelajahi fungsionalitas yang disesuaikan yang disediakan oleh paket pihak ketiga
- Pelajari lebih lanjut tentang Matplotlib melalui banyak sumber belajar eksternal
import sqlite3
import matplotlib.pyplot as plt
import matplotlib.dates as mdates
from dateutil import parser
from matplotlib import style
def graph_data():
# Connect to database
sqlite_file = 'humitemp.db' #sesuaikan nama db
conn = sqlite3.connect(sqlite_file)
c = conn.cursor()
style.use('seaborn-bright')
c.execute('SELECT * FROM dht11 ORDER BY date DESC LIMIT 50')
data = c.fetchall()
temperature = []
humidity = []
timenow = []
for row in data:
temperature.append(row[0])
humidity.append(row[1])
timenow.append(parser.parse(row[2]))
dates = [mdates.date2num(t) for t in timenow]
fig = plt.figure()
ax1 = fig.add_subplot(111)
ax1.set_title("Data Lingkungan Kamar")
# Configure x-ticks
ax1.xaxis.set_major_formatter(mdates.DateFormatter('%d/%m %H:%M'))
# Plot temperature data on left Y axis
ax1.set_ylabel("Temperature [°C]")
ax1.plot_date(dates, temperature, '-', label="Temperature", color='r')
# Plot humidity data on right Y axis
ax2 = ax1.twinx()
ax2.set_ylabel("Humidity [% RH]")
ax2.plot(dates, humidity, '-', label="Humidity", color='b')
# Format the x-axis for dates (label formatting, rotation)
fig.autofmt_xdate(rotation=60)
fig.tight_layout()
# Show grids and legends
ax1.grid(True)
ax1.legend(loc='center left', framealpha=0.5)
ax2.legend(loc='center right', framealpha=0.5)
plt.show()
c.close()
conn.close()
if __name__ == '__main__':
graph_data()
import sqlite3
import matplotlib.pyplot as plt
import matplotlib.dates as mdates
from dateutil import parser
from matplotlib import style
def graph_data():
# Connect to database
sqlite_file = 'humitemp.db' #sesuaikan nama db
conn = sqlite3.connect(sqlite_file)
c = conn.cursor()
style.use('seaborn-bright')
c.execute('SELECT * FROM dht11 ORDER BY date DESC LIMIT 50')
data = c.fetchall()
temperature = []
humidity = []
timenow = []
for row in data:
temperature.append(row[0])
humidity.append(row[1])
timenow.append(parser.parse(row[2]))
dates = [mdates.date2num(t) for t in timenow]
fig = plt.figure()
ax1 = fig.add_subplot(111)
ax1.set_title("Data Lingkungan Kamar")
# Configure x-ticks
ax1.xaxis.set_major_formatter(mdates.DateFormatter('%d/%m %H:%M'))
# Plot temperature data on left Y axis
ax1.set_ylabel("Temperature [°C]")
ax1.plot_date(dates, temperature, '-', label="Temperature", color='r')
# Plot humidity data on right Y axis
ax2 = ax1.twinx()
ax2.set_ylabel("Humidity [% RH]")
ax2.plot(dates, humidity, '-', label="Humidity", color='b')
# Format the x-axis for dates (label formatting, rotation)
fig.autofmt_xdate(rotation=60)
fig.tight_layout()
# Show grids and legends
ax1.grid(True)
ax1.legend(loc='center left', framealpha=0.5)
ax2.legend(loc='center right', framealpha=0.5)
plt.show()
c.close()
conn.close()