Masalah dengan perencanaan anak laut

pemrograman


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

ular piton
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).

ular piton
# 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.

ular piton
# 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.

コメント

タイトルとURLをコピーしました