[ad_1]
Halo semuanya,
Saya agak baru dalam membuat plot seaborn dan ketika menggunakan kode berikut, gambarnya terlihat agak aneh dan saya rasa tidak persis seperti apa seharusnya. Bisakah Anda membimbing kekurangan saya?
Apa yang saya coba:
import pandas as pd import numpy as np import matplotlib.pyplot as plt import seaborn as sns import plotly as px Titanic=sns.load_dataset("titanic") sns.countplot(x='age', data=Titanic) # x-ticks are overlapping sns.violinplot(data=Titanic, x="age", y="fare", hue="class") # same problem sns.pairplot(Titanic) # give and error sns.boxenplot(data=Titanic,x="age", y="fare", hue="class") # graph is too bad as well as same error as previous. sns.violinplot(data=Titanic, x="age", y="fare", hue="class") # graph is too bad as well as same error as previous. sns.countplot(x='age', data=Titanic) # x-ticks are overlapping
Solusi 1
Anda memerlukan bantuan dengan plot Seaborn Anda. Mari kita bahas satu per satu:
1. Tanda centang x yang tumpang tindih di `sns.countplot`: Hal ini biasanya terjadi jika terlalu banyak nilai unik di kolom ‘usia’. Untuk membuat plot lebih mudah dibaca, Anda dapat memperbesar ukuran gambar atau memutar label centang x.
2. Masalah dengan `sns.violinplot`, `sns.boxenplot`, dan `sns.pairplot`: Masalah ini mungkin timbul karena sifat data di kolom ‘usia’ dan ‘tarif’. Kolom ‘usia’ mungkin memiliki nilai NaN, atau rentang ‘tarif’ mungkin terlalu lebar, sehingga menyebabkan plot miring.
3. Kesalahan dengan `sns.pairplot`: Kesalahan ini mungkin disebabkan oleh nilai non-numerik atau NaN dalam kumpulan data. `sns.pairplot` hanya berfungsi dengan kolom numerik dan tidak dapat menangani nilai NaN dengan baik.
Berikut beberapa penyesuaian kode dan tip untuk mengatasi masalah ini:
Menyesuaikan Plot Hitungan
plt.figure(figsize=(10, 6)) # Adjusting figure size sns.countplot(x='age', data=Titanic) plt.xticks(rotation=90) # Rotating x-ticks plt.show()
Menangani Plot Biola dan Boxen
Untuk `sns.violinplot` dan `sns.boxenplot`, pastikan kolom ‘age’ dan ‘fare’ tidak memiliki nilai NaN atau outlier yang dapat merusak plot. Anda dapat menangani nilai NaN dengan menghapusnya atau mengisinya dengan ukuran tendensi sentral (rata-rata, median).
# Handling NaN values Titanic = Titanic.dropna(subset=['age', 'fare']) # Now try plotting sns.violinplot(data=Titanic, x="age", y="fare", hue="class") plt.show() sns.boxenplot(data=Titanic, x="age", y="fare", hue="class") plt.show()
Memperbaiki Plot Pasangan
Untuk memperbaiki `sns.pairplot`, pastikan semua kolom berbentuk numerik dan menangani nilai NaN.
# Dropping non-numeric columns for pairplot numeric_cols = Titanic.select_dtypes(include=[np.number]).columns.tolist() Titanic_numeric = Titanic[numeric_cols].dropna() sns.pairplot(Titanic_numeric) plt.show()
Bisakah Anda mencoba penyesuaian ini dan melihat apakah penyesuaian tersebut menyelesaikan masalah pada plot Anda? Jika Anda masih mengalami masalah, pesan kesalahan spesifik dapat memberikan lebih banyak wawasan tentang apa yang mungkin salah.
[ad_2]
コメント