mpl_toolkits.mplot3d

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Benutzernamee
User
Beiträge: 5
Registriert: Mittwoch 6. November 2019, 13:37

Hallo :)

Ich bin auf das Problem gestoßen, dass der Abstand zwischen der Achse und die Achsenbeschriftung nicht ausreichend groß ist. Hierdurch überlagern sich die Achsenbeschriftung und die Zahlen auf der Achse, was dazu führt, dass nichts davon lesbar ist.
Die zum plotten verwendete Bibliothek heißt "mpl_toolkits.mplot3d".
Es würde mich sehr freuen, wenn mir jemand weiterhelfen könnte.

Vielen Dank im Voraus!
__deets__
User
Beiträge: 14545
Registriert: Mittwoch 14. Oktober 2015, 14:29

Ohne konkreten Code der das Problem nachvollziehbar macht wird es schwierig werden.
Benutzernamee
User
Beiträge: 5
Registriert: Mittwoch 6. November 2019, 13:37

Oh, Entschuldigung. Wird natürlich nachgereicht :)
Zuletzt geändert von Benutzernamee am Freitag 8. November 2019, 13:14, insgesamt 1-mal geändert.
Benutzernamee
User
Beiträge: 5
Registriert: Mittwoch 6. November 2019, 13:37

__deets__ hat geschrieben: Freitag 8. November 2019, 11:39 Ohne konkreten Code der das Problem nachvollziehbar macht wird es schwierig werden.
fig = plt.figure()
pl = fig.add_subplot(111, projection='3d')


x = df2.Easting/1000
y = df2.Northing/1000
z = df2.Height/1000

pl.set_xlim(457, 463)
pl.set_ylim(min(y),max(y))
pl.set_zlim(1.388, 1.43)


plt.rcParams["xtick.labelsize"] = 13
plt.rcParams["ytick.labelsize"] = 13

pl.set_xlabel(r"X / $10^3$m", fontsize = 13)
pl.set_ylabel(r"Y / $10^3$m", fontsize = 13)
pl.set_zlabel(r"Z / $10^3$m", fontsize = 13)


pl.set_yticks([6088, 6089, 6090, 6091])
pl.set_zticks([1.39, 1.40, 1.41, 1.42, 1.43])

pl.scatter(x, y, z, color = 'b')
Benutzernamee
User
Beiträge: 5
Registriert: Mittwoch 6. November 2019, 13:37

Das Problem konnte ich jetzt doch endlich selbst lösen.
Also falls noch jemand das gleiche Problem hat, lautet die Lösung:

pl.set_xlabel('\n' + r"X / $10^3$m", linespacing = 2, fontsize = 13)
pl.set_ylabel('\n' + r"Y / $10^3$m", linespacing = 2, fontsize = 13)
pl.set_zlabel('\n' + r"Z / $10^3$m", linespacing = 1, fontsize = 13)

Hierbei war die Kombination von '\n' + und linespacing = 2 entscheidend.
Antworten